<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>1.2.1-性能与可维护性的权衡</title>
</head>
<body>
    
</body>
    <script>
        /**
         * 声明式代码的性能不优于命令式代码的性能
         * - 理论上命令式代码可以做到极致的性能优化，
         *    因为我们明确知道哪些发生了变更，只做必要的修改就行了
         * - 声明式代码不一定能做到这一点
         *    对于框架来说，为了实现最优的更新性能，它需要找到前后的差异并只更新变化的地方
         *    
         * 
         * 如果我们把直接修改的性能消耗定义为 A，
         *  把找出差异的性能消耗定义为 B，那么有
         * -- 命令式代码的更新性能消耗 = A
         * -- 声明式代码的更新性能消耗 = B + A
         * 声明式代码会比命令式代码多出找出差异的性能消耗
         * 
         * 声明式代码的可维护性更强
         * - 采用命令式代码开发的时候，我们需要维护实现目标的整个过程
         * - 声明式代码展示的就是我们要的结果，看上去更加直观，
         *    至于做事儿的过程，并不需要我们关心
         * 
         * 采用声明式提升可维护性的同时，性能就会有一定的损失，而框架设计者要做的就是：在保持可维护性的同时让性能损失最小化
        */
    </script>
</html>